- Load Data This markdown file contains the scRNA-seq analysis for the paper titled Integrated protein and transcriptome high-throughput spatial profiling. The data used for this analysis can be found under the GEO repository GSE198353.
# install Seurat v3.0.0
if (!requireNamespace("Seurat", quietly = TRUE) | utils::packageVersion("Seurat") < "4.0.0")
remotes::install_version("Seurat", version = "4.0.0")
# load data
library(Seurat)
# replicate 1
rep_1_data <- Read10X_h5('spleen_rep_1_filtered_feature_bc_matrix.h5')
rep_1_image <- Read10X_Image('GSE198353_spleen_replicate_1_spatial')
rep_1 <- CreateSeuratObject(rep_1_data$`Gene Expression`, assay = "RNA", project = "Rep_1")
rep_1_CITE <- CreateSeuratObject(rep_1_data$`Antibody Capture`, assay = "CITE", project = "Rep_1")
rep_1@assays$CITE <- rep_1_CITE@assays$CITE
rep_1$nCount_CITE <- rep_1_CITE$nCount_CITE
rep_1$nFeature_CITE <- rep_1_CITE$nFeature_CITE
rep_1_image@assay <- c("RNA", "CITE")
rep_1_image@key <- "Rep_1"
rep_1@images <- list(Rep_1 = rep_1_image)
# replicate 2
rep_2_data <- Read10X_h5('spleen_rep_2_filtered_feature_bc_matrix.h5')
rep_2_image <- Read10X_Image('GSE198353_spleen_replicate_2_spatial')
rep_2 <- CreateSeuratObject(rep_2_data$`Gene Expression`, assay = "RNA", project = "Rep_2")
rep_2_CITE <- CreateSeuratObject(rep_2_data$`Antibody Capture`, assay = "CITE", project = "Rep_2")
rep_2@assays$CITE <- rep_2_CITE@assays$CITE
rep_2$nCount_CITE <- rep_2_CITE$nCount_CITE
rep_2$nFeature_CITE <- rep_2_CITE$nFeature_CITE
rep_2_image@assay <- c("RNA", "CITE")
rep_2_image@key <- "Rep_2"
rep_2@images <- list(Rep_2 = rep_2_image)
# merge
spleen <- merge(rep_1, rep_2, add.cell.ids = c("Rep_1", "Rep_2"), project = "Spleen")
SpatialDimPlot(spleen, images = c("Rep_1", "Rep_2"))

- Data normalization
DefaultAssay(spleen) = "CITE"
spleen = NormalizeData(spleen, assay = "RNA", verbose = FALSE)
spleen = NormalizeData(spleen, normalization.method = "CLR", assay = "CITE", margin = 2, verbose = FALSE)
spleen <- ScaleData(spleen, verbose = FALSE)
p1 <- SpatialFeaturePlot(spleen,features = c("CD3","CD4","CD8",
"CD19","B220-CD45R","IgD",
"F4-80", "CD163", "CD68"), ncol = 3, images = c("Rep_1"))
p2 <- SpatialFeaturePlot(spleen,features = c("CD3","CD4","CD8",
"CD19","B220-CD45R","IgD",
"F4-80", "CD163", "CD68"), ncol = 3, images = c("Rep_2"))
p1 - p2

- Dimensionality Reduction and Clustering
spleen <- RunPCA(spleen, features = rownames(spleen))
spleen <- FindNeighbors(spleen, dims = 1:10)
spleen <- FindClusters(spleen, resolution = 0.2, verbose = FALSE)
SpatialDimPlot(spleen, images = c("Rep_1","Rep_2"))
